Method for transmitting a data telegram between a real-time domain and a non-real-time domain and a coupling unit

ABSTRACT

The invention relates to a method for transmitting a data telegram from a non-real-time domain to a real-time domain, comprising the following steps: generation of a non-real-time data telegram comprising a useful data zone, the data telegram containing a real-time or a non-real-time identifier in addition to a data telegram identifier (identifier i) in the useful data zone thereof when the real time identifier is provided; monitoring of the non-real-time data telegram for the presence of a real time identifier by the coupling unit if the real-time identifier is provided; transmission of the useful data and real-time identifier (identifier i) from the useful data zone of the non-real-time data telegram to a user interface of the coupling node; storage of the useful data in a storage zone of a communication memory which is associated with the identifier.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is the US National Stage of International ApplicationNo. PCT/DE02/03649, filed Sep. 26, 2002 and claims the benefit thereof.The International Application claims the benefits of German applicationNo. 10147448.2 DE filed Sep. 26, 2001, and German application No.10241183.2 DE filed Sep. 5, 2002, all of the applications areincorporated by reference herein in their entirety.

FIELD OF INVENTION

The invention relates to a method for transmitting a data telegrambetween a non-realtime domain and a realtime domain, a coupling unit anda computer program product.

BACKGROUND OF INVENTION

An asynchronous, clocked communication system with equidistantcharacteristics is taken to mean a system a system with the least twosubscribers who are connected via a data network for the purposes ofmutual exchange of data. in this case data is ex changed cyclically inequidistant communication cycles which are specified by thecommunication clock used by the system.

Subscribers are for example central automation devices, programming,project planning or operating devices, peripheral devices such a sinput/output modules, drives, actors, sensors, Programmable LogicControllers (PLC) or other control units, computers or machines whichexchange electronic data with other machines and process data,especially from other machines. Subscribers are also called networknodes or nodes.

Control units in this document are taken to mean closed-loop controllersor control units of all types, for example coupling units (known asswitches) and/or switch controllers. Typical examples of data networksused are bus systems such as Field Bus, Profibus, Ethernet, IndustrialEthernet, FireWire or also PC-internal bus systems (PCI), etc., butespecially also the isochronous Realtime Ethernet.

Data networks allow communication between a number of subscribers bynetworking, that is connecting the individual subscribers to each other.Communication here means the transmission of data between thesubscribers. The data to be transmitted is sent in this case as datatelegrams, i.e. the data is packed into a number of packets and sent inthis form over the data network to the corresponding recipient. The termdata packet is thus used. The term transmission of data is used in thisdocument fully synonymously with the above-mentioned transmission ofdata telegrams or data packets.

In distributed automation systems, for example in the area of drivetechnology, specific data must arrive at specific times at the intendedsubscribers and must be processed by the recipients. This is referred toas realtime-critical data or data traffic since if the data does notarrive at its intended destination at the right time this can produceundesired results at the subscriber by contrast with non-realtimecritical, for example Internet or Intranet based data communication. Inaccordance with the IEC 61491, EN61491 SERCOS interface successfulrealtime critical data traffic of the type mentioned can be guaranteedin distributed automation systems.

Automation components (e.g. controllers, drives, . . . ) nowadaysgenerally have an interface to a cyclically clocked communicationsystem. A run level of the automation components (fast-cycle) (e.g.positional control in a controller, torque control of the drive) issynchronized to the communication cycle. This defines the communicationtiming. Other lower-performance algorithms (slow-cycle) (e.g.temperature controllers) of the automation components can also onlycommunicate via this communication clock with other components (e.g.binary switches for fans, pumps, . . . ), although a slower cycle wouldbe adequate. Using only one communication clock for transmission of allinformation in the system produces high demands on the bandwidth of thetransmission link.

A peripheral image is made up of a sum of data sets which are exchangedusing realtime communication with other automation devices. Data setswhich are received from an automation device using realtimecommunication are input data. Data sets which are sent from anautomation device using realtime communication are output data. In anautomation device input data is processed and new output data created inan application program which is called in cycles. The applicationprogram can comprise a number of different functions which work atdifferent times with different data sets. It is not mandatory for allfunctions of the application program to be called in each applicationcycle. This means that all input data is not processed and new outputdata generated in each application cycle.

A system and a method for transmitting realtime critical andnon-realtime critical data via switchable data networks is known from DE10058524 A1. Here the transmission cycle is subdivided into a subcyclefor the realtime critical data and a subcycle for the non-realtimecritical data.

A common disadvantage of communication systems with realtimecapabilities known from the prior art is that existing non-realtimecapable system components cannot be inserted into the real time capablecommunications system. For this reason setting up a realtime capablecommunication system requires a high level of investment since all theexisting non-realtime capable systems have to be replaced.

SUMMARY OF INVENTION

The object of the invention is to create an improved method fortransmission of data telegrams between a non-realtime critical systemand a realtime critical system as well as a corresponding coupling unitand computer program product, which makes it possible to couple anon-realtime capable subscriber into a real time capable communicationsystem.

The objects underlying the invention are achieved in each case with thefeatures of the dependent patent claims. Preferred embodiments of theinvention are specified in the dependent patent claims.

The invention allows communication between real time and non-realtimedomains and also allows communication in both directions. To achievethis object software is installed on a subscriber in which both realtimeand also non-realtime communication is going on, which allows it to becoupled to the real time capable domain. This software is used to “pack”the information needed for realtime communication into a non-realtimedata telegram or to integrate the information from a non-realtime datatelegram into a real time telegram. The information involved here is inparticular the realtime telegram identification which will be used inthe realtime domain for the planned cyclic communication.

The Information packed in the non realtime data telegram will be“unpacked” by a coupling unit which receives the non-realtime datatelegram from the non-realtime domain. The useful data contained in thenon-realtime data telegram is written into a storage zone of acommunication memory which is uniquely defined by the realtime datatelegram identification.

To bring the data telegram into the realtime domain a send list on thecoupling unit side will be cyclically processed. This cyclic processingof the send list is undertaken in accordance with the timing schemespecified for the realtime domain and independently of the non-realtimedomain. The transmission of the non-realtime data telegram intended forrealtime communication over the non-realtime domain can thus take placeasynchronously with the cyclic processing of the send list. As a resultof this the option of coupling the real time and non-realtime domains isrealized.

The same applies to the other direction. A realtime data telegram fromthe realtime domain intended for the non-realtime domain has useful datawhich will be “packed” into a non-realtime data telegram and forwardedby the coupling unit to a subscriber in the non-realtime domain.

In accordance with a preferred embodiment of the invention thenon-realtime domain is an Ethernet and the realtime domain is anisochronous, cyclic realtime Ethernet. Preferably the isochronous,cyclic realtime Ethernet has a communications cycle which can be dividedup into a realtime subcycle and a non-realtime subcycle. Such acommunication system is known per se from DE 10058524 A1.

For example non-realtime data telegrams from the non-realtime domainwhich are intended for non-realtime communication are sent via thenon-realtime subcycle, whereas non-real time data telegrams from thenon-realtime domain which are intended for realtime communication arebrought in via the realtime subcycle.

Previous Ethernet components in automation technology are only suitablefor the non-realtime, that is non-cyclic data traffic. The coupling ofsuch components with future realtime capable modules must however bemade possible on the basis of the existing networks.

In this case especially time-critical data of a non-realtime module (forexample actual values of a shaft) must be brought into the real time area of the realtime capable components to guarantee data transfer withinan isochronous cycle (e.g. to the process computer which calculates thenew threshold values of the shaft). In the reverse direction too, thetransfer of data from a realtime domain to a non-realtime domain mustalso be possible, to make available realtime data within an isochronouscycle to a non-realtime subscriber (e.g. transfer of the new thresholdvalues from the process computer to the shaft).

By contrast with non-realtime communication, realtime communication isplanned communication. Each component in the realtime domain knows inadvance when and at which receive and transmit ports it must receive andforward or bring in which realtime telegrams. The transmit point of eachrealtime telegram is thus precisely determined. For non-realtime datawhich is to be sent in the realtime domain it is thus true to say thatit must have been brought in at the latest by the start of transmissionof its telegram in real time.

A realtime-capable Ethernet switch consists of receive and transmitports which can both transmit and receive realtime (RT) data cyclically,as well as supporting the previous non-realtime (NRT) operation. Such anEthernet switch represents the link between the realtime and thenon-realtime domain. The ports connected to the NRT (Non-realtime)domain operate exclusively in conventional non-realtime mode whereas theports at the RT (realtime) domain support both realtime and also anon-realtime operation. For NRT data which is to be sent via the RTcommunication of the RT domain, the following preferably applies:

The NRT telegrams must be sent with high priority in the feeding switchin the NRT domain in order to minimize the transfer times in the NRTdomain.

The NRT telegrams must be addressed to the coupling switch or couplingswitches between NRT and RT domain.

From the NRT telegram received at the coupling switch it must be evidentthat the NRT data is to be sent via RT communication of the RT domainand not via NRT communication of the RT domain.

If a telegram is received at the NRT port of the coupling switch whichfulfills the above requirements the data content of the NRT telegram isseparated and written as an RT data set into the storage area of the RTperipheral image in the Ethernet switch. In the next isochronous cyclethis data will be sent as a component of the RT peripheral image in theRT domain.

The following applies for the opposite direction: If at the couplingswitch RT telegrams to the ports of the RT domain or are receivedcorrectly (undisturbed) they are entered into the storage area as acomponent of the RT peripheral image. From there the software can readthe data and integrate it into the frame of NRT telegram. This telegramwill then be sent via the ports of the NRT domain. This NRT telegrammust then be sent with higher priority to guarantee the fastest possibletransmission (within the isochronous cycle) to the receive switch in theNRT domain.

Another particular advantage is that the published method can be used inautomation systems particularly for and in packaging machinery, presses,plastic injection moulding machines, textile machines, printingmachines, machine tools, robots, handling systems, woodworking machines,glass and ceramic processing machines as well as lifting equipment.

BRIEF DESCRIPTION OF THE DRAWINGS

Preferred exemplary embodiments of the invention are explained in moredetail below with reference to the drawings. The drawings show:

FIG. 1: a communication system with a subnetwork with realtime datatraffic and a subnetwork with non-realtime data traffic,

FIG. 2: a block diagram of a preferred exemplary embodiment of acoupling of a non-realtime subscriber to a realtime capablecommunications system,

FIG. 3: the bringing in of NRT data sets into the RT domain,

FIG. 4: a flowchart of an embodiment of a method in accordance with theinvention for injecting data telegrams from the non-realtime domain intoa realtime domain,

FIG. 5: the bringing-in of data sets into the NRT domain.

DETAILED DESCRIPTION OF INVENTION

FIG. 1 shows a communications system 100 with a subnetwork 102 and asubnetwork 104. An NRT domain is realized by subnetwork 102 which isexclusively suited to NRT data traffic. Such a subnetwork can forexample be a standard Ethernet. Non-realtime subscribers 106 belong tosubnetwork 102.

Subnetwork 104 is an isochronous cyclic realtime Ethernet by which theRT domain is realized. Preferably there can also be NRT data traffic inthe RT domain. A communications system known per se from DE 10058524 A1can be used for this for example in which a communication cycle isdivisible into a realtime and a non-realtime subcycle. Realtimesubscribers 108 belong to subnetwork 104.

The subnetworks 102 and 104 are coupled to each other by a couplingswitch 110. The coupling switch 110 allows forwarding of data telegramsfrom the NRT domain into the RT domain and does this both for the RT andalso optionally for the NRT data traffic in the RT domain. Converselycoupling switch 110 allows forwarding of data telegrams from the RTdomain into the NRT domain of subnetwork 102, which can involve both RTand also NRT data telegrams.

Of particular advantage here is that the existing non-realtime capablesubscribers 106 can be used to set up the communication system 100,i.e., that it is possible to refer back to the existing hardware to setup the communications system 100, which reduces investment outlay. Tocouple in subscriber 106 it is only necessary to install an additionalprogram.

FIG. 2 shows a block diagram of an embodiment of this type of couplingof a subscriber 106 into a coupling switch 110.

The subscriber 106 is connected to one or more measured value generators112. The measured value generators 112 constantly deliver measuredvalues which must be transmitted in real time to another subscriber 108.

For this purpose subscriber 106 contains a send list 114. The send listhas a sequence of identifications i, with each of the identifications ofthe send list 114 corresponding to a data telegram to be created.

The program 116 of the subscriber 106 repeats processing of the sendlist 114 cyclically. If it is the turn of identification i, program 116accepts the current value of measured value generator 112 and generatesa non-realtime data telegram 118 from it. The data telegram 118 can forexample be an Ethernet telegram.

The data telegram 118 has a useful data zone 120 and an address zone122.

The useful data zone 120 carries the useful data, i.e. the currentmeasured values of measured value generator 112 as well as thecorresponding identification i. Since the data telegram is intended forrealtime communication a corresponding realtime identification will becoded by program 116 into the data telegram 118. In the exemplaryembodiment looked at here this is done by selecting a specific multicastaddress for the address in the address zone 122. This specific multicastaddress indicates that the data telegram 118 concerned is a datatelegram intended for realtime communication.

Data telegram 118 will be sent by subscriber 106 via subnetwork 102 andreceived by the coupling switch 110.

The coupling switch 110 has an NRT port 124 which is used for couplingthe coupling switch 110 with the subnetwork 102. The port 124 has amodule 126 to check whether the data telegram received from thesubnetwork 102 is intended for realtime communication or fornon-realtime communication. In the embodiment under consideration herethe check is made by the module 126 so that the addressing the addresszone 122 of a received data telegram 118 is compared with the multicastaddress determined. If the address concerned is a specific multicastaddress the coupling switch 110 concludes that the data telegramreceived via the subnetwork 102 is destined for realtime communicationin subnetwork 104.

The coupling switch 110 also has a user interface 128 via which thereceived data can be transferred to a program 130.

Furthermore the coupling switch 110 has a communication memory 132 whichis used for storing the RT peripheral image. Each of the realtime datatelegram identifications i is assigned in this case to a storage zone inthe communication memory 132. For example the identification i isassigned to the storage zone 134 of the realtime data set j. Thisrealtime data set j is a data set which is to contain the useful datafrom the useful data zone 120 of data telegram 118.

The coupling switch further has a port 136. Via the port 136 datatelegrams can be sent into the subnetwork 104 and this can be done bothduring a realtime subcycle and during a non-realtime subcycle.

For the realtime subcycle the port 136 has a send list 138. The sendlist 138 has a sequence of realtime data telegram identifications whichis processed cyclically. Each of the identifications in the send list138 is assigned a forwarding time in this case am at which thetransmission of the corresponding realtime data telegram is undertakenwithin a real time subcycle. Thus the identification i is especiallyassigned to a specific forwarding in the send list 138.

When the coupling switch receives the data telegram 118 via thesubnetwork 102 at its port 124 the following process thus runs: First acheck is made in the module 126 as to whether the data telegram 118 isdestined for realtime communication in the subnetwork 104. If this isthe case the useful data and the identification i from the useful datazone 120 are transferred via the user interface 128 to the program 130.The program 130 then stores the useful data in the storage zone 134 inthe real time data set j, which is uniquely assigned to theidentification i.

In parallel and independently of this the send list 138 will beprocessed by the port 136 in the realtime subcycle. If the data telegramwith the identification i is about to be processed in the send list thedata currently in the storage zone 134 will be read out.

The data telegram with this useful data will then be fed by port 136 ata specific forwarding time into the subnetwork 104 so the data telegramcan reach the subscriber 108.

FIG. 3 illustrates this process once again with the embodiment shown inFIG. 3 of the coupling switch 110, featuring a number of ports 124 and anumber of ports 136.

FIG. 4 shows a corresponding flowchart. In step 400 a data telegram isreceived from the NRT domain. in step 402 a check is made as to whetherthe data telegram features a specific realtime RT identification. If itdoes not, the received data telegram is handled in step 404 as a normaldata telegram, i.e. it is forwarded unchanged by the coupling switch viathe NRT subcycle. This especially allows what is known as “tunneling” ofa non realtime data telegram through the realtime capable domain.

If however the data telegram involved has an RT identification theuseful data and the identification from the useful data zone of the datatelegram are separated in step 406 and in step 408 are transferred to auser interface. A corresponding program then stores the useful data in astorage area of the communication memory of the coupling switch which isuniquely identified by the identifier.

In parallel and independently of this, in step 412, a send list will besequentially and cyclically processed by the RT/NRT port of the couplingswitch. If at the time of creation, a real time telegram with theidentification of the old useful data is still in the communicationmemory, this will be used. If on the other hand the useful data justreceived is located in the communication memory, this will be used.Preferably the useful data has a time stamp so that the receivingsubscriber of subnetwork 104 (cf. subscriber 108 of FIG. 2) hasinformation about the age of the useful data.

FIG. 5 illustrates the corresponding process in the reverse direction,i.e. from the RT domain into the NRT domain. A data telegram received byport 136 in the RT subcycle of the communication cycle is processed insuch a way that the useful data of the data telegram i entered into thestorage zone 132 is uniquely determined by the identification of thedata telegram. Information about whether the data telegram is directedto a subscriber 106 is stored in program 130. If this is the case theuseful data of the peripheral image will be integrated into anon-realtime telegram and transfer it via the user interface to NRT port124. The non-realtime subscriber 106 is uniquely addressed by theposition of the useful data in the RT peripheral image.

Program 130 then creates a standard Ethernet data telegram for examplewith the useful data in the useful data zone of the Ethernet telegram.The Ethernet telegram is then fed in by port 124 into the NRT domain.Program 130 can always, in each communications cycle, generate anon-realtime telegram for the corresponding useful data from the RTperipheral image 132 since in the realtime domain a se cure exchange ofthe data occurs in each communication cycle.

1. A method for transmitting and changing a data telegram from anon-realtime domain into a realtime-data telegram for a realtime domain,comprising: creating a non-realtime data telegram with a useful datazone, the useful data zone including useful data and an identificationfor designating the data telegram as realtime or non-realtime;transmitting the data telegram via a non-realtime network to a switchingcoupling unit; receiving the data telegram through a first port of theswitching coupling unit, the first port of the switching unit arrangedto couple the switching coupling unit to the non-realtime network, thefirst port further arranged to pass exclusively non-real time data;checking, by the switching coupling unit, the data telegram to determinewhether the identification designates realtime or non-realtime; if theidentification designates realtime, separating the useful data and theidentification from the useful data zone of the data telegram andtransferring the useful data and the identification from the useful datazone to a communication memory; storing the useful data in a storagezone of the communication memory; cyclically processing the useful datato create a realtime-data telegram from the useful data stored in thecommunication memory, thereby changing a data telegram from anon-realtime domain to a realtime-data telegram for use in the realtimedomain; and forwarding the realtime-data telegram in the realtime domainthrough a realtime network coupled to a second port of the switchingcoupling unit, the second port arranged to pass at least realtime data.2. The method in accordance with claim 1, wherein, if the identificationdesignates non-realtime, further processing the data telegram as anon-realtime data telegram.
 3. The method in accordance with claim 1,wherein the identification is coded in an address of the non-realtimedata telegram.
 4. The method in accordance with claim 3, wherein withthe address involved is a specific multicast address.
 5. The method inaccordance with claim 1, wherein the non-realtime data telegram involvedis an Ethernet data telegram.
 6. The method in accordance with claim 1,wherein the realtime domain features a communication cycle divisibleinto a realtime and a non-realtime subcycle, and a non-realtime datatelegram from the non-realtime domain which does not have a realtimeidentification, is transmitted via the non-realtime subcycle in therealtime domain.
 7. A switching coupling unit for receiving a datatelegram from a non-realtime domain, and changing the data telegram fromthe non-realtime domain to a realtime data telegram for forwarding in arealtime domain, comprising: a first port coupled to receive via anon-real time network a non-realtime data telegram with a useful datazone, the useful data zone containing useful data and a realtime or anon-realtime identification, the first port arranged to couple theswitching coupling unit to the non-real time network, the first portfurther arranged to pass exclusively non-real time data; a device tocheck the non-realtime data telegram for the presence of the realtimeidentification; a device coupled to transfer the useful data and therealtime identification from the useful data zone of the non-realtimedata telegram to a user interface, if the realtime identification ispresent; a device to store the useful data in a storage zone of acommunication memory assigned to the realtime identification; a deviceto cycle process a send list containing the realtime identification tocreate a realtime data telegram for forwarding over the realtime domain,thereby changing a data telegram from a non-realtime domain to arealtime data telegram for use in the realtime domain; and a second portcoupled to forward via a realtime network the realtime-data telegram,the second port of the switching unit arranged to couple the switchingcoupling unit to the realtime network, the second port further arrangedto pass at least realtime data.
 8. The coupling unit in accordance withclaim 7, wherein the device to check the non-realtime data telegram forthe presence of the realtime identification further checks for thepresence of a specific address in the non-realtime data telegram.
 9. Thecoupling unit in accordance with claim 8, wherein the specific addressinvolved is a multicast address.
 10. The coupling unit in accordancewith claim 7, wherein the non-realtime data telegram involved is anEthernet data telegram.
 11. The coupling unit as claimed in claim 7,wherein the non-realtime data telegram is forwarded with a realtimeidentification in a realtime cycle of a communication cycle.
 12. Amethod for transmission of a data telegram from a realtime domain andchanging the data telegram from the realtime domain into a non-realtimedata telegram for a non-realtime domain, comprising: processingcyclically a receive list containing a data telegram identification of arealtime data telegram received via a realtime network; receiving thereceive list through a first port of the switching coupling unit, thefirst port of the switching unit arranged to couple the switchingcoupling unit to the realtime network, the first port further arrangedto pass at least realtime data; storing the useful data of the receivedrealtime data telegram with the identification in a communicationmemory; transferring the useful data and the identification to a userinterface; and creating a non-realtime-data telegram with a useful datazone, in which case the useful data zone is used to accommodate theuseful data and the data telegram identification, thereby changing adata telegram from a realtime domain to a non-realtime data telegram foruse in the non-realtime domain; and forwarding the non-realtime datatelegram in the non-realtime domain through a non-realtime networkcoupled to a second port of the switching coupling unit, the second portarranged to pass exclusively non-realtime data.
 13. The method inaccordance with claim 12, wherein the realtime domain features acommunication cycle divisible into a realtime subcycle and anon-realtime subcycle, and a non-realtime data telegram received fromthe realtime domain via a non-realtime subcycle of the communicationcycle is forwarded unchanged into the non-realtime domain.
 14. Aswitching coupling unit for transmission and change of a data telegramfrom a realtime domain into a non-realtime data telegram for anon-realtime domain, comprising: a first port coupled to receive a listwhich contains data telegram identifications of realtime-data telegrams,the first port arranged to couple the switching coupling unit to arealtime network, the first port further arranged to pass at leastrealtime data; a device to cyclically process the received list; adevice coupled to store the useful data of a received realtime datatelegram in a communication memory; a device coupled to transfer theuseful data and the identification to a user interface; and a device tocreate a non-realtime data telegram with a useful data zone, in whichcase the useful data zone is used to accommodate the useful data and thedata telegram identification, thereby changing a data telegram from arealtime domain to a non-realtime data telegram for use in thenon-realtime domain; and a second port coupled to forward thenon-realtime data telegram to the non-realtime domain via a non-realtimenetwork, the second port of the switching unit arranged to couple theswitching coupling unit to the non-realtime network, the second portfurther arranged to pass exclusively non-realtime data.
 15. The couplingunit in accordance with claim 14, wherein the realtime domain features acommunication cycle, divisible into a realtime subcycle and anon-realtime subcycle, and a non-realtime data telegram received fromthe realtime domain via a non-realtime subcycle of a communication cyclecan be transferred unchanged into the non-realtime domain.